Content delivery networks (CDNs) serve much of the digital content that is consumed over data networks including the Internet. CDNs deploy servers at various geographic regions to cache and serve content on behalf of various content providers. This provides a distributed platform whereby the same content can be served from one of many locations. Users that consume the content receive the requested content from a server that provides the best delivery performance to them or the geographic location in which they operate. As a result, content providers can focus on generating content while leaving the delivery of their content to the highly optimized and efficient CDNs.
FIG. 1 depicts an exemplary CDN architecture. As shown, the CDN includes several different caching Points-of-Presence (PoPs) 110, traffic management servers 120, and an administrative server 130. The figure also illustrates the interactions that CDN customers, including content providers, have with the CDN and interactions that content consumers or users have with the CDN.
Each PoP 110 may be representative of a server farm for a geographically proximate set of physically separate servers or a set of virtual servers that execute over partitioned sets of resources of one or more physically separate servers. The PoPs are distributed across different network edges of the Internet. The servers in each respective PoP cache and serve content on behalf of different content providers, thus facilitating the “last mile” delivery of content. Hence, the PoP servers are referred to as “edge servers” or “caching servers”. An edge server may cache the same content as other edge servers in the same PoP or may be configured to cache different content than the other edge servers in the same PoP.
The traffic management servers 120 route users, and more specifically, user issued requests for content to one or more edge servers that can optimally deliver the requested content back to the users. In many cases, the optimal edge server is a server caching the requested content in a PoP that is geographically closest to the user that issued the content request. Different CDN implementations utilize different traffic management schemes to achieve such routing to the optimal edge servers. For example, the traffic management scheme can be conducted according to Anycast routing. However, it should be apparent that other traffic management schemes, such as Domain Name System (DNS) routing, can alternatively be used and that the traffic management servers 120 can include different combinations of DNS servers, load balancers, and routers performing Anycast, DNS, or Border Gateway Protocol (BGP) routing as some examples.
The administrative server 130 may include a central server of the CDN or a distributed set of interoperating servers that perform the configuration control and reporting functionality of the CDN. Content providers register with the administrative server 130 in order to access services and functionality of the CDN. Accordingly, content providers are also referred to as customers of the CDN. Once registered, content providers can interface with the administrative server 130 to specify a configuration, upload content, and set access restrictions including authentication tokens and encryption keys for effectuating the access restrictions. The administrative server 130 also aggregates statistics data from each server of the set of edge servers and processes the statistics to produce usage and performance reports for the customers. From these reports, the content provider can better understand the demand for its content, the performance provided by the CDN in delivering the content provider's content, and the need for capacity reallocation, among other uses. The administrative server 130 can also be the logical point that collects CDN usage values for the purpose of billing CDN customers.
One of the primary factors differentiating CDNs is performance. Performance of different CDNs deviates by the order of a few milliseconds in best case scenarios to a few seconds in worst case scenarios. While the performance penalty of a single object may be insignificant, it is important to note that CDNs deliver millions of objects hourly and the compounded delay can therefore be quite significant.
The best performing CDNs are the ones that can place their resources (i.e., PoPs or edge servers) closest to the greatest number of users such that content is delivered from those resources to the users over the fewest number of network hops minimizing the potential for delay and failure. On a global scale, this becomes financially and resource prohibitive for even the largest CDN. CDNs must be highly selective in where they deploy their capacity and must often sacrifice performance to certain users in order to improve performance to others. Another obstacle hindering CDN performance is the inability of CDNs to deeply penetrate into the networks that serve as the initial network entry point of users. These are the true edges of the network and in many cases cannot be penetrated into because they are tightly controlled by service providers such as Time Warner, Comcast, Cox, AT&T, Verizon, and other wired broadband and wireless Internet service providers (ISPs).
Some service providers have realized the performance advantage they have by being at the network edge. To exploit their advantage, some service providers have deployed their own caching servers within these networks. In essence, the service providers have deployed their own mini-CDN service. Yet, many of these resources remain underutilized because of the limited user reach relative to larger CDN footprints. Stated differently, the service providers are able to provide highly optimized delivery to a small set of users and poor delivery to users outside their networks, whereas the CDN can provide better overall performance to more users because of the wide deployment and larger cache footprint of the CDN that reaches greater numbers of users than the localized service provider networks. Accordingly, content providers have continued to rely on traditional CDNs for delivery of their content rather than partner with several different service providers that each reach a small set of users.
Thus, there is a need to synergize the content delivery efficiencies and resources of CDNs and service providers. More specifically, there is a need to include the highly optimized but localized content delivery capabilities of service providers with the content delivery capabilities of a CDN. However, simply redirecting requests from the CDN to a service provider could cause secured content to become unsecured and freely accessible from the redirected to service provider when the service provider is not configured with or cannot process the access restrictions of the CDN. Accordingly, there is further a need to ensure that any access restrictions that are configured to secure access to content are effectuated not only at the CDN, but also any secondary service provider network that the CDN leverages to provide localized content delivery to users.